package com.hunliji.monitor.share.component.lock.enums;

import lombok.Getter;

/**
 * 分布式锁对应的常量和枚举
 * @author wuchen
 */
public interface DistributedLockConstants {
    /**
     * 默认的重试次数 = 1
     */
    Integer DEFAULT_RETRY_COUNT = 1;
    /**
     * 默认的技术选型
     */
    String DEFAULT_TECH_TYPE = "REDISSON";
    /**
     * 默认的获取锁超时时间为 50 ms
     */
    Long DEFAULT_TIME_OUT = 50L;
    /**
     * 默认的超时时间
     */
    Long DEFAULT_EXPIRES = 1000L;
    /**
     * 技术选型
     */
    @Getter
    enum TechType{
        /**
         * redisson
         */
        REDISSON
    }

    /**
     * 时间单位类型
     */
    @Getter
    enum TimeType{
        /**
         * 毫秒
         */
        MILLISECONDS,
        /**
         * 秒
         */
        SECONDS
    }
}
